Skip to content

sigstore: reject legacy x509CertificateChain bundle format (SPEC §5.2)#105

Open
lsd-cat wants to merge 1 commit into
mainfrom
fix/sigstore-reject-legacy-bundle
Open

sigstore: reject legacy x509CertificateChain bundle format (SPEC §5.2)#105
lsd-cat wants to merge 1 commit into
mainfrom
fix/sigstore-reject-legacy-bundle

Conversation

@lsd-cat

@lsd-cat lsd-cat commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

sigstore-python parses the legacy v0.1/v0.2 bundle layout (signing cert under verificationMaterial.x509CertificateChain). Per SPEC §5.2 the legacy layout MUST be rejected: tinfoil only produces v0.3 bundles.


Summary by cubic

Enforces SPEC §5.2 by rejecting legacy v0.1/v0.2 Sigstore bundles that use verificationMaterial.x509CertificateChain. Only v0.3 single-certificate bundles are accepted, closing a misuse vector and aligning with tinfoil-go/-rs/-js.

Written for commit dcd178a. Summary will update on new commits.

Review in cubic

sigstore-python parses the legacy v0.1/v0.2 bundle layout (signing cert under
verificationMaterial.x509CertificateChain). Per SPEC §5.2 the legacy layout
MUST be rejected: it can carry intermediate/root CA certs (a misuse vector the
v0.3 single-certificate form avoids), and tinfoil only produces v0.3 bundles.

reject_legacy_bundle_format rejects a bundle whose verificationMaterial uses
x509CertificateChain; called ahead of Bundle.from_json in the production
verifier. Matches tinfoil-go/-rs/-js.

Stacked on fix/sigstore-duplicate-sct-log.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Re-trigger cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant